package com.chinatechstar.prediction.entity;

import com.chinatechstar.component.commons.entity.CreateEntity;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;

/**
 * well_co2_optimization
 * 
 * @author Rei
 * @version 1.0.0 2021-08-02
 */
public class PredictionOptimization extends CreateEntity implements java.io.Serializable {
    /** 版本号 */
    private static final long serialVersionUID = -4604927377930062279L;

    /* This code was generated by TableGo tools, mark 1 begin. */

    /** 注入参数优化id */
    private Long id;

    /** 井id */
    private Long wellId;


    /** 优化关联co2密度id */
    private Long optimizationDensityId;

    /** 井名 */
    private String wellName;

    /** 井类型 */
    private String wellType;

    /** 生产井段 */
    private String wellSeg;

    /** 优化方案名 */
    private String planName;

    /** co2注入段长度 */
    private Double injectionLength;

    /** co2注入厚度 */
    private Double injectionThickness;

    /** 原始地层压力 */
    private Double formationPressure;

    /** 地层温度 */
    private Double formationTemperature;

    /** 孔隙度 */
    private Double porosity;

    /** 经验系数 */
    private Double empiricalCoefficient;

    /** 短轴处理半径 */
    private Double shortRadius;

    /** 长轴处理半径  */
    private Double longRadius;

    /** 井底co2体积 */
    private Double wellBottomVolume;

    /** 井底co2密度 */
    private Double wellBottomDensity;

    /** co2注入量 */
    private Double injectionVolume;

    /* This code was generated by TableGo tools, mark 1 end. */

    /* This code was generated by TableGo tools, mark 2 begin. */

    /**
     * 获取注入参数优化id
     * 
     * @return 注入参数优化id
     */
    public Long getId() {
        return this.id;
    }

    /**
     * 设置注入参数优化id
     * 
     * @param id
     *          注入参数优化id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取优化关联co2密度id
     *
     * @return 优化关联co2密度id
     */
    public Long getOptimizationDensityId() {
        return optimizationDensityId;
    }

    /**
     * 设置优化关联co2密度id
     *
     * @param optimizationDensityId
     *          井id
     */
    public void setOptimizationDensityId(Long optimizationDensityId) {
        this.optimizationDensityId = optimizationDensityId;
    }

    /**
     * 获取井id
     * 
     * @return 井id
     */
    public Long getWellId() {
        return this.wellId;
    }

    /**
     * 设置井id
     * 
     * @param wellId
     *          井id
     */
    public void setWellId(Long wellId) {
        this.wellId = wellId;
    }

    /**
     * 获取井名
     * 
     * @return 井名
     */
    public String getWellName() {
        return this.wellName;
    }

    /**
     * 设置井名
     * 
     * @param wellName
     *          井名
     */
    public void setWellName(String wellName) {
        this.wellName = wellName;
    }

    /**
     * 获取井类型
     * 
     * @return 井类型
     */
    public String getWellType() {
        return this.wellType;
    }

    /**
     * 设置井类型
     * 
     * @param wellType
     *          井类型
     */
    public void setWellType(String wellType) {
        this.wellType = wellType;
    }

    /**
     * 获取生产井段
     * 
     * @return 生产井段
     */
    public String getWellSeg() {
        return this.wellSeg;
    }

    /**
     * 设置生产井段
     * 
     * @param wellSeg
     *          生产井段
     */
    public void setWellSeg(String wellSeg) {
        this.wellSeg = wellSeg;
    }

    /**
     * 获取优化方案名
     * 
     * @return 优化方案名
     */
    public String getPlanName() {
        return this.planName;
    }

    /**
     * 设置优化方案名
     * 
     * @param planName
     *          优化方案名
     */
    public void setPlanName(String planName) {
        this.planName = planName;
    }

    /**
     * 获取co2注入段长度
     * 
     * @return co2注入段长度
     */
    public Double getInjectionLength() {
        return this.injectionLength;
    }

    /**
     * 设置co2注入段长度
     * 
     * @param injectionLength
     *          co2注入段长度
     */
    public void setInjectionLength(Double injectionLength) {
        this.injectionLength = injectionLength;
    }

    /**
     * 获取co2注入厚度
     * 
     * @return co2注入厚度
     */
    public Double getInjectionThickness() {
        return this.injectionThickness;
    }

    /**
     * 设置co2注入厚度
     * 
     * @param injectionThickness
     *          co2注入厚度
     */
    public void setInjectionThickness(Double injectionThickness) {
        this.injectionThickness = injectionThickness;
    }

    /**
     * 获取原始地层压力
     * 
     * @return 原始地层压力
     */
    public Double getFormationPressure() {
        return this.formationPressure;
    }

    /**
     * 设置原始地层压力
     * 
     * @param formationPressure
     *          原始地层压力
     */
    public void setFormationPressure(Double formationPressure) {
        this.formationPressure = formationPressure;
    }

    /**
     * 获取地层温度
     * 
     * @return 地层温度
     */
    public Double getFormationTemperature() {
        return this.formationTemperature;
    }

    /**
     * 设置地层温度
     * 
     * @param formationTemperature
     *          地层温度
     */
    public void setFormationTemperature(Double formationTemperature) {
        this.formationTemperature = formationTemperature;
    }

    /**
     * 获取孔隙度
     * 
     * @return 孔隙度
     */
    public Double getPorosity() {
        return this.porosity;
    }

    /**
     * 设置孔隙度
     * 
     * @param porosity
     *          孔隙度
     */
    public void setPorosity(Double porosity) {
        this.porosity = porosity;
    }

    /**
     * 获取经验系数
     * 
     * @return 经验系数
     */
    public Double getEmpiricalCoefficient() {
        return this.empiricalCoefficient;
    }

    /**
     * 设置经验系数
     * 
     * @param empiricalCoefficient
     *          经验系数
     */
    public void setEmpiricalCoefficient(Double empiricalCoefficient) {
        this.empiricalCoefficient = empiricalCoefficient;
    }

    /**
     * 获取短轴处理半径
     * 
     * @return 短轴处理半径
     */
    public Double getShortRadius() {
        return this.shortRadius;
    }

    /**
     * 设置短轴处理半径
     * 
     * @param shortRadius
     *          短轴处理半径
     */
    public void setShortRadius(Double shortRadius) {
        this.shortRadius = shortRadius;
    }

    /**
     * 获取长轴处理半径 
     * 
     * @return 长轴处理半径 
     */
    public Double getLongRadius() {
        return this.longRadius;
    }

    /**
     * 设置长轴处理半径 
     * 
     * @param longRadius
     *          长轴处理半径 
     */
    public void setLongRadius(Double longRadius) {
        this.longRadius = longRadius;
    }

    /**
     * 获取井底co2体积
     * 
     * @return 井底co2体积
     */
    public Double getWellBottomVolume() {
        return this.wellBottomVolume;
    }

    /**
     * 设置井底co2体积
     * 
     * @param wellBottomVolume
     *          井底co2体积
     */
    public void setWellBottomVolume(Double wellBottomVolume) {
        this.wellBottomVolume = wellBottomVolume;
    }

    /**
     * 获取井底co2密度
     * 
     * @return 井底co2密度
     */
    public Double getWellBottomDensity() {
        return this.wellBottomDensity;
    }

    /**
     * 设置井底co2密度
     * 
     * @param wellBottomDensity
     *          井底co2密度
     */
    public void setWellBottomDensity(Double wellBottomDensity) {
        this.wellBottomDensity = wellBottomDensity;
    }

    /**
     * 获取co2注入量
     * 
     * @return co2注入量
     */
    public Double getInjectionVolume() {
        return this.injectionVolume;
    }

    /**
     * 设置co2注入量
     * 
     * @param injectionVolume
     *          co2注入量
     */
    public void setInjectionVolume(Double injectionVolume) {
        this.injectionVolume = injectionVolume;
    }


    
    @Override
    public boolean equals(Object obj) {
        return EqualsBuilder.reflectionEquals(obj, this);
    }
    
    @Override
    public int hashCode() {
        return HashCodeBuilder.reflectionHashCode(this);
    }
    
    @Override
    public String toString() {
        return ReflectionToStringBuilder.toString(this);
    }

    /* This code was generated by TableGo tools, mark 3 end. */
}